home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / CardServices.a < prev    next >
Encoding:
Text File  |  1996-05-01  |  33.6 KB  |  995 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        CardServices.a
  3. ;
  4. ;    Contains:    The client interface to Card and Socket Services.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__CARDSERVICES__') = 'UNDEFINED' THEN
  19. __CARDSERVICES__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.     IF &TYPE('__PCCARDTUPLES__') = 'UNDEFINED' THEN
  25.     include 'PCCardTuples.a'
  26.     ENDIF
  27.     IF &TYPE('__MIXEDMODE__') = 'UNDEFINED' THEN
  28.     include 'MixedMode.a'
  29.     ENDIF
  30. ;     miscellaneous
  31.  
  32. CS_MAX_SOCKETS                    EQU        32                    ; a long is used as a socket bitmap
  33. ;  Will move to <Gestalt.h>
  34.  
  35. gestaltCardServicesAttr            EQU        'pccd'                ; Card Services attributes
  36. gestaltCardServicesPresent        EQU        0                    ; if set, Card Services is present
  37. gestaltCardServicesSupportsRequestIO EQU 1                    ; if set, CSRequest/ReleaseIO are supported
  38. ;  Will move to <Traps.h>
  39.  
  40. _PCCardDispatch                    EQU        $AAF0                ; Card Services entry trap
  41. ;
  42. ; Will move to <Errors.h>
  43. ;    result codes
  44. ;
  45.  
  46. kCSBadAdapterErr                EQU        -9050                ; invalid adapter number
  47. kCSBadAttributeErr                EQU        -9051                ; specified attributes field value is invalid
  48. kCSBadBaseErr                    EQU        -9052                ; specified base system memory address is invalid
  49. kCSBadEDCErr                    EQU        -9053                ; specified EDC generator specified is invalid
  50. kCSBadIRQErr                    EQU        -9054                ; specified IRQ level is invalid
  51. kCSBadOffsetErr                    EQU        -9055                ; specified PC card memory array offset is invalid
  52. kCSBadPageErr                    EQU        -9056                ; specified page is invalid
  53. kCSBadSizeErr                    EQU        -9057                ; specified size is invalid
  54. kCSBadSocketErr                    EQU        -9058                ; specified logical or physical socket number is invalid
  55. kCSBadTypeErr                    EQU        -9059                ; specified window or interface type is invalid
  56. kCSBadVccErr                    EQU        -9060                ; specified Vcc power level index is invalid
  57. kCSBadVppErr                    EQU        -9061                ; specified Vpp1 or Vpp2 power level index is invalid
  58. kCSBadWindowErr                    EQU        -9062                ; specified window is invalid
  59. kCSBadArgLengthErr                EQU        -9063                ; ArgLength argument is invalid
  60. kCSBadArgsErr                    EQU        -9064                ; values in argument packet are invalid
  61. kCSBadHandleErr                    EQU        -9065                ; clientHandle is invalid
  62. kCSBadCISErr                    EQU        -9066                ; CIS on card is invalid
  63. kCSBadSpeedErr                    EQU        -9067                ; specified speed is unavailable
  64. kCSReadFailureErr                EQU        -9068                ; unable to complete read request
  65. kCSWriteFailureErr                EQU        -9069                ; unable to complete write request
  66. kCSGeneralFailureErr            EQU        -9070                ; an undefined error has occurred
  67. kCSNoCardErr                    EQU        -9071                ; no PC card in the socket
  68. kCSUnsupportedFunctionErr        EQU        -9072                ; function is not supported by this implementation
  69. kCSUnsupportedModeErr            EQU        -9073                ; mode is not supported
  70. kCSBusyErr                        EQU        -9074                ; unable to process request at this time - try later
  71. kCSWriteProtectedErr            EQU        -9075                ; media is write-protected
  72. kCSConfigurationLockedErr        EQU        -9076                ; a configuration has already been locked
  73. kCSInUseErr                        EQU        -9077                ; requested resource is being used by a client
  74. kCSNoMoreItemsErr                EQU        -9078                ; there are no more of the requested item
  75. kCSOutOfResourceErr                EQU        -9079                ; Card Services has exhausted the resource
  76. ;     messages sent to client's event handler
  77.  
  78. kCSNullMessage                    EQU        $00                    ; no messages pending (not sent to clients)
  79. kCSCardInsertionMessage            EQU        $01                    ; card has been inserted into the socket
  80. kCSCardRemovalMessage            EQU        $02                    ; card has been removed from the socket
  81. kCSCardLockMessage                EQU        $03                    ; card is locked into the socket with a mechanical latch
  82. kCSCardUnlockMessage            EQU        $04                    ; card is no longer locked into the socket
  83. kCSCardReadyMessage                EQU        $05                    ; card is ready to be accessed
  84. kCSCardResetMessage                EQU        $06                    ; physical reset has completed
  85. kCSInsertionRequestMessage        EQU        $07                    ; request to insert a card using insertion motor
  86. kCSInsertionCompleteMessage        EQU        $08                    ; insertion motor has finished inserting a card
  87. kCSEjectionRequestMessage        EQU        $09                    ; user or other client is requesting a card ejection
  88. kCSEjectionFailedMessage        EQU        $0A                    ; eject failure due to electrical/mechanical problems
  89. kCSPMResumeMessage                EQU        $0B                    ; power management resume (TBD)
  90. kCSPMSuspendMessage                EQU        $0C                    ; power management suspend (TBD)
  91. kCSResetPhysicalMessage            EQU        $0D                    ; physical reset is about to occur on this card
  92. kCSResetRequestMessage            EQU        $0E                    ; physical reset has been requested by a client
  93. kCSResetCompleteMessage            EQU        $0F                    ; ResetCard() background reset has completed
  94. kCSBatteryDeadMessage            EQU        $10                    ; battery is no longer useable, data will be lost
  95. kCSBatteryLowMessage            EQU        $11                    ; battery is weak and should be replaced
  96. kCSWriteProtectMessage            EQU        $12                    ; card is now write protected
  97. kCSWriteEnabledMessage            EQU        $13                    ; card is now write enabled
  98. kCSClientInfoMessage            EQU        $14                    ; client is to return client information
  99. kCSSSUpdatedMessage                EQU        $15                    ; AddSocketServices/ReplaceSocket services has changed SS support
  100. kCSFunctionInterruptMessage        EQU        $16                    ; card function interrupt
  101. kCSAccessErrorMessage            EQU        $17                    ; client bus errored on access to socket
  102. kCSCardUnconfiguredMessage        EQU        $18                    ; a CARD_READY was delivered to all clients and no client 
  103.                                                             ;    requested a configuration for the socket
  104. kCSStatusChangedMessage            EQU        $19                    ; status change for cards in I/O mode
  105. ;
  106. ;    The following is a mapping of the PCMCIA name space to the Macintosh name space.
  107. ;    These two enum lists will be removed and given to developers as a separate file.
  108. ;
  109.  
  110. SUCCESS                            EQU        0
  111. BAD_ADAPTER                        EQU        -9050
  112. BAD_ATTRIBUTE                    EQU        -9051
  113. BAD_BASE                        EQU        -9052
  114. BAD_EDC                            EQU        -9053
  115. BAD_IRQ                            EQU        -9054
  116. BAD_OFFSET                        EQU        -9055
  117. BAD_PAGE                        EQU        -9056
  118. BAD_SIZE                        EQU        -9057
  119. BAD_SOCKET                        EQU        -9058
  120. BAD_TYPE                        EQU        -9059
  121. BAD_VCC                            EQU        -9060
  122. BAD_VPP                            EQU        -9061
  123. BAD_WINDOW                        EQU        -9062
  124. BAD_ARG_LENGTH                    EQU        -9063
  125. BAD_ARGS                        EQU        -9064
  126. BAD_HANDLE                        EQU        -9065
  127. BAD_CIS                            EQU        -9066
  128. BAD_SPEED                        EQU        -9067
  129. READ_FAILURE                    EQU        -9068
  130. WRITE_FAILURE                    EQU        -9069
  131. GENERAL_FAILURE                    EQU        -9070
  132. NO_CARD                            EQU        -9071
  133. UNSUPPORTED_FUNCTION            EQU        -9072
  134. UNSUPPORTED_MODE                EQU        -9073
  135. BUSY                            EQU        -9074
  136. WRITE_PROTECTED                    EQU        -9075
  137. CONFIGURATION_LOCKED            EQU        -9076
  138. IN_USE                            EQU        -9077
  139. NO_MORE_ITEMS                    EQU        -9078
  140. OUT_OF_RESOURCE                    EQU        -9079
  141. ;     messages sent to client's event handler
  142.  
  143. NULL_MESSAGE                    EQU        $00
  144. CARD_INSERTION                    EQU        $01
  145. CARD_REMOVAL                    EQU        $02
  146. CARD_LOCK                        EQU        $03
  147. CARD_UNLOCK                        EQU        $04
  148. CARD_READY                        EQU        $05
  149. CARD_RESET                        EQU        $06
  150. INSERTION_REQUEST                EQU        $07
  151. INSERTION_COMPLETE                EQU        $08
  152. EJECTION_REQUEST                EQU        $09
  153. EJECTION_FAILED                    EQU        $0A
  154. PM_RESUME                        EQU        $0B
  155. PM_SUSPEND                        EQU        $0C
  156. RESET_PHYSICAL                    EQU        $0D
  157. RESET_REQUEST                    EQU        $0E
  158. RESET_COMPLETE                    EQU        $0F
  159. BATTERY_DEAD                    EQU        $10
  160. BATTERY_LOW                        EQU        $11
  161. WRITE_PROTECT                    EQU        $12
  162. WRITE_ENABLED                    EQU        $13
  163. CLIENT_INFO                        EQU        $14
  164. SS_UPDATED                        EQU        $15
  165. FUNCTION_INTERRUPT                EQU        $16
  166. ACCESS_ERROR                    EQU        $17
  167. CARD_UNCONFIGURED                EQU        $18
  168. STATUS_CHANGED                    EQU        $19
  169. ; ----------------        CSAccessConfigurationRegister    ----------------
  170. AccessConfigurationRegisterPB RECORD 0
  171. socket                     ds.w    1                ; offset: $0 (0)        ;   -> global socket number
  172. action                     ds.b    1                ; offset: $2 (2)        ;   -> read/write
  173. offset                     ds.b    1                ; offset: $3 (3)        ;   -> offset from config register base
  174. value                     ds.b    1                ; offset: $4 (4)        ;  <-> value to read/write
  175. padding                     ds.b    1                ; offset: $5 (5) <-- really an array of length one ;  
  176. sizeof                     EQU *                    ; size:   $6 (6)
  177.                         ENDR
  178. ;     ‘action’ field values
  179.  
  180. kCSReadConfigRegister            EQU        $00
  181. kCSWriteConfigRegister            EQU        $01
  182. ; ----------------        CSGetCardServicesInfo            ----------------
  183. GetCardServicesInfoPB    RECORD 0
  184. signature                 ds.b    2                ; offset: $0 (0)        ;  <-  two ascii chars 'CS'
  185. count                     ds.w    1                ; offset: $2 (2)        ;  <-  total number of sockets installed
  186. revision                 ds.w    1                ; offset: $4 (4)        ;  <-  BCD
  187. csLevel                     ds.w    1                ; offset: $6 (6)        ;  <-  BCD
  188. reserved                 ds.w    1                ; offset: $8 (8)        ;   -> zero
  189. vStrLen                     ds.w    1                ; offset: $A (10)        ;  <-> in: client's buffer size, out: vendor string length
  190. vendorString             ds.l    1                ; offset: $C (12)        ;  <-> in: pointer to buffer to hold CS vendor string (zero-terminated)
  191. ;       out: CS vendor string copied to buffer
  192. sizeof                     EQU *                    ; size:   $10 (16)
  193.                         ENDR
  194. ;
  195. ;----------------        CSGetClientInfo                    ----------------
  196. ; upper byte of attributes is kCSClientInfoSubfunction
  197. ;
  198. ClientInfoParam            RECORD 0
  199. clientHandle             ds.l    1                ; offset: $0 (0)        ;   -> clientHandle returned by RegisterClient
  200. attributes                 ds.w    1                ; offset: $4 (4)        ;  <-> subfunction + bitmapped client attributes
  201. revision                 ds.w    1                ; offset: $6 (6)        ;  <-  BCD value of client's revision
  202. csLevel                     ds.w    1                ; offset: $8 (8)        ;  <-  BCD value of CS release
  203. revDate                     ds.w    1                ; offset: $A (10)        ;  <-  revision date: y[15-9], m[8-5], d[4-0]
  204. nameLen                     ds.w    1                ; offset: $C (12)        ;  <-> in: max length of client name string, out: actual length
  205. vStringLen                 ds.w    1                ; offset: $E (14)        ;  <-> in: max length of vendor string, out: actual length
  206. nameString                 ds.l    1                ; offset: $10 (16)        ;  <-  pointer to client name string (zero-terminated)
  207. vendorString             ds.l    1                ; offset: $14 (20)        ;  <-  pointer to vendor string (zero-terminated)
  208. sizeof                     EQU *                    ; size:   $18 (24)
  209.                         ENDR
  210. ;
  211. ; upper byte of attributes is kCSCardNameSubfunction,
  212. ;                               kCSCardTypeSubfunction,
  213. ;                               kCSHelpStringSubfunction
  214. ;
  215. AlternateTextStringParam RECORD 0
  216. clientHandle             ds.l    1                ; offset: $0 (0)        ;   -> clientHandle returned by RegisterClient
  217. attributes                 ds.w    1                ; offset: $4 (4)        ;  <-> subfunction + bitmapped client attributes
  218. socket                     ds.w    1                ; offset: $6 (6)        ;   -> logical socket number
  219. reserved                 ds.w    1                ; offset: $8 (8)        ;   -> zero
  220. length                     ds.w    1                ; offset: $A (10)        ;  <-> in: max length of string, out: actual length
  221. text                     ds.l    1                ; offset: $C (12)        ;  <-  pointer to string (zero-terminated)
  222. sizeof                     EQU *                    ; size:   $10 (16)
  223.                         ENDR
  224. ;  upper byte of attributes is kCSCardIconSubfunction
  225. AlternateCardIconParam    RECORD 0
  226. clientHandle             ds.l    1                ; offset: $0 (0)        ;   -> clientHandle returned by RegisterClient
  227. attributes                 ds.w    1                ; offset: $4 (4)        ;  <-> subfunction + bitmapped client attributes
  228. socket                     ds.w    1                ; offset: $6 (6)        ;   -> logical socket number
  229. iconSuite                 ds.l    1                ; offset: $8 (8)        ;  <-  handle to icon suite containing all icons
  230. sizeof                     EQU *                    ; size:   $C (12)
  231.                         ENDR
  232. ;  upper byte of attributes is kCSActionProcSubfunction
  233. CustomActionProcParam    RECORD 0
  234. clientHandle             ds.l    1                ; offset: $0 (0)        ;   -> clientHandle returned by RegisterClient
  235. attributes                 ds.w    1                ; offset: $4 (4)        ;  <-> subfunction + bitmapped client attributes
  236. socket                     ds.w    1                ; offset: $6 (6)        ;   -> logical socket number
  237. sizeof                     EQU *                    ; size:   $8 (8)
  238.                         ENDR
  239. GetClientInfoPB            RECORD 0
  240. clientInfo                 ds        ClientInfoParam ; offset: $0 (0)
  241.                          ORG 0
  242. alternateTextString         ds        AlternateTextStringParam ; offset: $0 (0)
  243.                          ORG 0
  244. alternateIcon             ds        AlternateCardIconParam ; offset: $0 (0)
  245.                          ORG 0
  246. customActionProc         ds        CustomActionProcParam ; offset: $0 (0)
  247.                          ORG 24
  248. sizeof                     EQU *                    ; size:   $18 (24)
  249.                         ENDR
  250. ;     ‘attributes’ field values
  251.  
  252. kCSMemoryClient                    EQU        $0001
  253. kCSIOClient                        EQU        $0004
  254. kCSClientTypeMask                EQU        $0007
  255. kCSShareableCardInsertEvents    EQU        $0008
  256. kCSExclusiveCardInsertEvents    EQU        $0010
  257. kCSInfoSubfunctionMask            EQU        $FF00
  258. kCSClientInfoSubfunction        EQU        $0000
  259. kCSCardNameSubfunction            EQU        $8000
  260. kCSCardTypeSubfunction            EQU        $8100
  261. kCSHelpStringSubfunction        EQU        $8200
  262. kCSCardIconSubfunction            EQU        $8300
  263. kCSActionProcSubfunction        EQU        $8400
  264. ;
  265. ;----------------        CSGetConfigurationInfo            ----------------
  266. ;----------------        CSModifyConfiguration            ----------------
  267. ;----------------        CSRequestConfiguration            ----------------
  268. ;
  269. GetModRequestConfigInfoPB RECORD 0
  270. clientHandle             ds.l    1                ; offset: $0 (0)        ;   -> clientHandle returned by RegisterClient
  271. socket                     ds.w    1                ; offset: $4 (4)        ;   -> logical socket number
  272. attributes                 ds.w    1                ; offset: $6 (6)        ;  <-> bitmap of configuration attributes
  273. vcc                         ds.b    1                ; offset: $8 (8)        ;  <-> Vcc setting
  274. vpp1                     ds.b    1                ; offset: $9 (9)        ;  <-> Vpp1 setting
  275. vpp2                     ds.b    1                ; offset: $A (10)        ;  <-> Vpp2 setting
  276. intType                     ds.b    1                ; offset: $B (11)        ;  <-> interface type (memory or memory+I/O)
  277. configBase                 ds.l    1                ; offset: $C (12)        ;  <-> card base address of configuration registers
  278. status                     ds.b    1                ; offset: $10 (16)        ;  <-> card status register setting, if present
  279. pin                         ds.b    1                ; offset: $11 (17)        ;  <-> card pin register setting, if present
  280. copy                     ds.b    1                ; offset: $12 (18)        ;  <-> card socket/copy register setting, if present
  281. configIndex                 ds.b    1                ; offset: $13 (19)        ;  <-> card option register setting, if present
  282. present                     ds.b    1                ; offset: $14 (20)        ;  <-> bitmap of which configuration registers are present
  283. firstDevType             ds.b    1                ; offset: $15 (21)        ;  <-  from DeviceID tuple
  284. funcCode                 ds.b    1                ; offset: $16 (22)        ;  <-  from FuncID tuple
  285. sysInitMask                 ds.b    1                ; offset: $17 (23)        ;  <-  from FuncID tuple
  286. manufCode                 ds.w    1                ; offset: $18 (24)        ;  <-  from ManufacturerID tuple
  287. manufInfo                 ds.w    1                ; offset: $1A (26)        ;  <-  from ManufacturerID tuple
  288. cardValues                 ds.b    1                ; offset: $1C (28)        ;  <-  valid card register values
  289. padding                     ds.b    1                ; offset: $1D (29) <-- really an array of length one ;  
  290. sizeof                     EQU *                    ; size:   $1E (30)
  291.                         ENDR
  292. ;     ‘attributes’ field values
  293.  
  294. kCSExclusivelyUsed                EQU        $0001
  295. kCSEnableIREQs                    EQU        $0002
  296. kCSVccChangeValid                EQU        $0004
  297. kCSVpp1ChangeValid                EQU        $0008
  298. kCSVpp2ChangeValid                EQU        $0010
  299. kCSValidClient                    EQU        $0020
  300. kCSSleepPower                    EQU        $0040                ; request that power be applied to socket during Sleep
  301. kCSLockSocket                    EQU        $0080
  302. kCSTurnOnInUse                    EQU        $0100
  303. ;     ‘intType’ field values
  304.  
  305. kCSMemoryInterface                EQU        $01
  306. kCSMemory_And_IO_Interface        EQU        $02
  307. ;     ‘present’ field values
  308.  
  309. kCSOptionRegisterPresent        EQU        $01
  310. kCSStatusRegisterPresent        EQU        $02
  311. kCSPinReplacementRegisterPresent EQU    $04
  312. kCSCopyRegisterPresent            EQU        $08
  313. ;     ‘cardValues’ field values
  314.  
  315. kCSOptionValueValid                EQU        $01
  316. kCSStatusValueValid                EQU        $02
  317. kCSPinReplacementValueValid        EQU        $04
  318. kCSCopyValueValid                EQU        $08
  319. ;
  320. ;----------------        CSGetClientEventMask            ----------------
  321. ;----------------        CSSetClientEventMask            ----------------
  322. ;
  323. GetSetClientEventMaskPB    RECORD 0
  324. clientHandle             ds.l    1                ; offset: $0 (0)        ;   -> clientHandle returned by RegisterClient
  325. attributes                 ds.w    1                ; offset: $4 (4)        ;  <-> bitmap of attributes
  326. eventMask                 ds.w    1                ; offset: $6 (6)        ;  <-> bitmap of events to be passed to client for this socket
  327. socket                     ds.w    1                ; offset: $8 (8)        ;   -> logical socket number
  328. sizeof                     EQU *                    ; size:   $A (10)
  329.                         ENDR
  330. ;     ‘attributes’ field values
  331.  
  332. kCSEventMaskThisSocketOnly        EQU        $0001
  333. ;     ‘eventMask’ field values
  334.  
  335. kCSWriteProtectEvent            EQU        $0001
  336. kCSCardLockChangeEvent            EQU        $0002
  337. kCSEjectRequestEvent            EQU        $0004
  338. kCSInsertRequestEvent            EQU        $0008
  339. kCSBatteryDeadEvent                EQU        $0010
  340. kCSBatteryLowEvent                EQU        $0020
  341. kCSReadyChangeEvent                EQU        $0040
  342. kCSCardDetectChangeEvent        EQU        $0080
  343. kCSPMChangeEvent                EQU        $0100
  344. kCSResetEvent                    EQU        $0200
  345. kCSSSUpdateEvent                EQU        $0400
  346. kCSFunctionInterrupt            EQU        $0800
  347. kCSAllEvents                    EQU        $FFFF
  348. ;
  349. ;----------------        CSGetFirstClient                ----------------
  350. ;----------------        CSGetNextClient                    ----------------
  351. ;
  352. GetClientPB                RECORD 0
  353. clientHandle             ds.l    1                ; offset: $0 (0)        ;  <-  clientHandle for this client
  354. socket                     ds.w    1                ; offset: $4 (4)        ;   -> logical socket number
  355. attributes                 ds.w    1                ; offset: $6 (6)        ;   -> bitmap of attributes
  356. sizeof                     EQU *                    ; size:   $8 (8)
  357.                         ENDR
  358. ;     ‘attributes’ field values
  359.  
  360. kCSClientsForAllSockets            EQU        $0000
  361. kCSClientsThisSocketOnly        EQU        $0001
  362. ;
  363. ;----------------        CSGetFirstTuple                    ----------------
  364. ;----------------        CSGetNextTuple                    ----------------
  365. ;----------------        CSGetTupleData                    ----------------
  366. ;
  367. GetTuplePB                RECORD 0
  368. socket                     ds.w    1                ; offset: $0 (0)        ;   -> logical socket number
  369. attributes                 ds.w    1                ; offset: $2 (2)        ;   -> bitmap of attributes
  370. desiredTuple             ds.b    1                ; offset: $4 (4)        ;   -> desired tuple code value, or $FF for all
  371. tupleOffset                 ds.b    1                ; offset: $5 (5)        ;   -> offset into tuple from link byte
  372. flags                     ds.w    1                ; offset: $6 (6)        ;  <-> internal use
  373. linkOffset                 ds.l    1                ; offset: $8 (8)        ;  <-> internal use
  374. cisOffset                 ds.l    1                ; offset: $C (12)        ;  <-> internal use
  375. tupleCode                 ds.b    1                ; offset: $10 (16)        ;  <-  tuple code found
  376. tupleLink                 ds.b    1                ; offset: $11 (17)        ;  <-  link value for tuple found
  377.                          ORG 16
  378. tupleDataMax             ds.w    1                ; offset: $10 (16)        ;   -> maximum size of tuple data area
  379. tupleDataLen             ds.w    1                ; offset: $12 (18)        ;  <-  number of bytes in tuple body
  380. tupleData                 ds        TupleBody        ; offset: $14 (20)        ;  <-  tuple data
  381. sizeof                     EQU *                    ; size:   $112 (274)
  382.                         ENDR
  383. ;     ‘attributes’ field values
  384.  
  385. kCSReturnLinkTuples                EQU        $0001
  386. ;
  387. ;----------------        CSRequestSocketMask                ----------------
  388. ;----------------        CSReleaseSocketMask                ----------------
  389. ;
  390. ReqRelSocketMaskPB        RECORD 0
  391. clientHandle             ds.l    1                ; offset: $0 (0)        ;   -> clientHandle returned by RegisterClient
  392. socket                     ds.w    1                ; offset: $4 (4)        ;   -> logical socket
  393. eventMask                 ds.w    1                ; offset: $6 (6)        ;   -> bitmap of events to be passed to client for this socket
  394. sizeof                     EQU *                    ; size:   $8 (8)
  395.                         ENDR
  396. ;
  397. ;    ‘eventMask’ field values (see above for Get/SetClientEventMask
  398. ;----------------        CSGetStatus                        ----------------
  399. ;
  400. GetStatusPB                RECORD 0
  401. socket                     ds.w    1                ; offset: $0 (0)        ;   -> logical socket number
  402. cardState                 ds.w    1                ; offset: $2 (2)        ;  <-  current state of installed card
  403. socketState                 ds.w    1                ; offset: $4 (4)        ;  <-  current state of the socket
  404. sizeof                     EQU *                    ; size:   $6 (6)
  405.                         ENDR
  406. ;     ‘cardState’ field values
  407.  
  408. kCSWriteProtected                EQU        $0001
  409. kCSCardLocked                    EQU        $0002
  410. kCSEjectRequest                    EQU        $0004
  411. kCSInsertRequest                EQU        $0008
  412. kCSBatteryDead                    EQU        $0010
  413. kCSBatteryLow                    EQU        $0020
  414. kCSReady                        EQU        $0040
  415. kCSCardDetected                    EQU        $0080
  416. ;     ‘socketState’ field values
  417.  
  418. kCSWriteProtectChanged            EQU        $0001
  419. kCSCardLockChanged                EQU        $0002
  420. kCSEjectRequestPending            EQU        $0004
  421. kCSInsertRequestPending            EQU        $0008
  422. kCSBatteryDeadChanged            EQU        $0010
  423. kCSBatteryLowChanged            EQU        $0020
  424. kCSReadyChanged                    EQU        $0040
  425. kCSCardDetectChanged            EQU        $0080
  426. ;
  427. ;----------------        CSModifyWindow                    ----------------
  428. ;----------------        CSReleaseWindow                    ----------------
  429. ;----------------        CSRequestWindow                    ----------------
  430. ;
  431. ReqModRelWindowPB        RECORD 0
  432. clientHandle             ds.l    1                ; offset: $0 (0)        ;   -> clientHandle returned by RegisterClient
  433. windowHandle             ds.l    1                ; offset: $4 (4)        ;  <-> window descriptor
  434. socket                     ds.w    1                ; offset: $8 (8)        ;   -> logical socket number
  435. attributes                 ds.w    1                ; offset: $A (10)        ;   -> window attributes (bitmap)
  436. base                     ds.l    1                ; offset: $C (12)        ;  <-> system base address
  437. size                     ds.l    1                ; offset: $10 (16)        ;  <-> memory window size
  438. accessSpeed                 ds.b    1                ; offset: $14 (20)        ;   -> window access speed (bitmap)
  439. ;         (not applicable for I/O mode)
  440. padding                     ds.b    1                ; offset: $15 (21) <-- really an array of length one ;  
  441. sizeof                     EQU *                    ; size:   $16 (22)
  442.                         ENDR
  443. ;     ‘attributes’ field values
  444.  
  445. kCSMemoryWindow                    EQU        $0001
  446. kCSIOWindow                        EQU        $0002
  447. kCSAttributeWindow                EQU        $0004                ; not normally used by Card Services clients
  448. kCSWindowTypeMask                EQU        $0007
  449. kCSEnableWindow                    EQU        $0008
  450. kCSAccessSpeedValid                EQU        $0010
  451. kCSLittleEndian                    EQU        $0020                ; configure socket for little endianess
  452. kCS16BitDataPath                EQU        $0040
  453. kCSWindowPaged                    EQU        $0080                ; 
  454. kCSWindowShared                    EQU        $0100
  455. kCSWindowFirstShared            EQU        $0200                ; 
  456. kCSWindowProgrammable            EQU        $0400                ; 
  457. ;     ‘accessSpeed’ field values
  458.  
  459. kCSDeviceSpeedCodeMask            EQU        $07
  460. kCSSpeedExponentMask            EQU        $07
  461. kCSSpeedMantissaMask            EQU        $78
  462. kCSUseWait                        EQU        $80
  463. kCSAccessSpeed250nsec            EQU        $01
  464. kCSAccessSpeed200nsec            EQU        $02
  465. kCSAccessSpeed150nsec            EQU        $03
  466. kCSAccessSpeed100nsec            EQU        $04
  467. kCSExtAccSpeedMant1pt0            EQU        $01
  468. kCSExtAccSpeedMant1pt2            EQU        $02
  469. kCSExtAccSpeedMant1pt3            EQU        $03
  470. kCSExtAccSpeedMant1pt5            EQU        $04
  471. kCSExtAccSpeedMant2pt0            EQU        $05
  472. kCSExtAccSpeedMant2pt5            EQU        $06
  473. kCSExtAccSpeedMant3pt0            EQU        $07
  474. kCSExtAccSpeedMant3pt5            EQU        $08
  475. kCSExtAccSpeedMant4pt0            EQU        $09
  476. kCSExtAccSpeedMant4pt5            EQU        $0A
  477. kCSExtAccSpeedMant5pt0            EQU        $0B
  478. kCSExtAccSpeedMant5pt5            EQU        $0C
  479. kCSExtAccSpeedMant6pt0            EQU        $0D
  480. kCSExtAccSpeedMant7pt0            EQU        $0E
  481. kCSExtAccSpeedMant8pt0            EQU        $0F
  482. kCSExtAccSpeedExp1ns            EQU        $00
  483. kCSExtAccSpeedExp10ns            EQU        $01
  484. kCSExtAccSpeedExp100ns            EQU        $02
  485. kCSExtAccSpeedExp1us            EQU        $03
  486. kCSExtAccSpeedExp10us            EQU        $04
  487. kCSExtAccSpeedExp100us            EQU        $05
  488. kCSExtAccSpeedExp1ms            EQU        $06
  489. kCSExtAccSpeedExp10ms            EQU        $07
  490. ;
  491. ;----------------        CSRegisterClient                ----------------
  492. ;----------------        CSDeregisterClient                ----------------
  493. ;
  494.     IF FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE THEN
  495. ClientCallbackPB        RECORD 0
  496. message                     ds.w    1                ; offset: $0 (0)        ;   -> which event this is
  497. socket                     ds.w    1                ; offset: $2 (2)        ;   -> logical socket number
  498. info                     ds.w    1                ; offset: $4 (4)        ;   -> function-specific
  499. misc                     ds.w    1                ; offset: $6 (6)        ;   -> function-specific
  500. reserved                 ds.l    1                ; offset: $8 (8)        ;   -> pointer to MTD request block
  501. buffer                     ds.l    1                ; offset: $C (12)        ;   -> function-specific
  502. clientData                 ds.l    1                ; offset: $10 (16)        ;   -> pointer to client's data (from RegisterClient)
  503. sizeof                     EQU *                    ; size:   $14 (20)
  504.                         ENDR
  505. ; typedef struct ClientCallbackPB *        ClientCallbackPBPtr
  506.  
  507. RegisterClientPB        RECORD 0
  508. clientHandle             ds.l    1                ; offset: $0 (0)        ;  <-  client descriptor
  509. clientEntry                 ds.l    1                ; offset: $4 (4)        ;   -> universal procPtr to client's event handler
  510. attributes                 ds.w    1                ; offset: $8 (8)        ;   -> bitmap of client attributes
  511. eventMask                 ds.w    1                ; offset: $A (10)        ;   -> bitmap of events to notify client
  512. clientData                 ds.l    1                ; offset: $C (12)        ;   -> pointer to client's data
  513. version                     ds.w    1                ; offset: $10 (16)        ;   -> Card Services version this client expects
  514. sizeof                     EQU *                    ; size:   $12 (18)
  515.                         ENDR
  516. ;
  517. ;    ‘attributes’ field values (see GetClientInfo)
  518. ;    kCSMemoryClient                    = 0x0001,
  519. ;    kCSIOClient                        = 0x0004,
  520. ;    kCSShareableCardInsertEvents    = 0x0008,
  521. ;    kCSExclusiveCardInsertEvents    = 0x0010
  522. ;
  523.     ENDIF
  524. ; ----------------        CSReleaseConfiguration            ----------------
  525. ReleaseConfigurationPB    RECORD 0
  526. clientHandle             ds.l    1                ; offset: $0 (0)        ;   -> clientHandle returned by RegisterClient
  527. socket                     ds.w    1                ; offset: $4 (4)        ;   -> 
  528. sizeof                     EQU *                    ; size:   $6 (6)
  529.                         ENDR
  530. ; ----------------        CSResetCard                        ----------------
  531. ResetCardPB                RECORD 0
  532. clientHandle             ds.l    1                ; offset: $0 (0)        ;   -> clientHandle returned by RegisterClient
  533. socket                     ds.w    1                ; offset: $4 (4)        ;   -> 
  534. attributes                 ds.w    1                ; offset: $6 (6)        ;   -> xxx
  535. sizeof                     EQU *                    ; size:   $8 (8)
  536.                         ENDR
  537. ; ----------------        CSValidateCIS                    ----------------
  538. ValidateCISPB            RECORD 0
  539. socket                     ds.w    1                ; offset: $0 (0)        ;   -> 
  540. chains                     ds.w    1                ; offset: $2 (2)        ;   -> whether link/null tuples should be included
  541. sizeof                     EQU *                    ; size:   $4 (4)
  542.                         ENDR
  543. ;
  544. ;----------------        CSRequestIO                        ----------------
  545. ;----------------        CSReleaseIO                        ----------------
  546. ;
  547. ReqRelIOPB                RECORD 0
  548. clientHandle             ds.l    1                ; offset: $0 (0)        ;   -> clientHandle returned by RegisterClient
  549. socket                     ds.w    1                ; offset: $4 (4)        ;   -> socket number
  550. reserved                 ds.w    1                ; offset: $6 (6)
  551. basePort1                 ds.w    1                ; offset: $8 (8)        ;     ->    base I/O port for range
  552. numPorts1                 ds.b    1                ; offset: $A (10)        ;     ->    number of ports (e.g., bytes).
  553. attributes1                 ds.b    1                ; offset: $B (11)        ;     ->    attributes
  554. basePort2                 ds.w    1                ; offset: $C (12)        ;     ->    base I/O port for range
  555. numPorts2                 ds.b    1                ; offset: $E (14)        ;     ->    number of ports
  556. attributes2                 ds.b    1                ; offset: $F (15)        ;     ->    attributes
  557. ioAddrLines                 ds.b    1                ; offset: $10 (16)        ;     -> number of I/O lines decoded by card
  558. reserved1                 ds.b    1                ; offset: $11 (17)
  559. sizeof                     EQU *                    ; size:   $12 (18)
  560.                         ENDR
  561. ; ----------------        CSVendorSpecific                ----------------
  562. VendorSpecificPB        RECORD 0
  563. clientHandle             ds.l    1                ; offset: $0 (0)        ;   -> clientHandle returned by RegisterClient
  564. vsCode                     ds.w    1                ; offset: $4 (4)
  565. socket                     ds.w    1                ; offset: $6 (6)
  566. dataLen                     ds.l    1                ; offset: $8 (8)        ;   -> length of buffer pointed to by vsDataPtr
  567. vsDataPtr                 ds.l    1                ; offset: $C (12)        ;   -> Card Services version this client expects
  568. sizeof                     EQU *                    ; size:   $10 (16)
  569.                         ENDR
  570. ;     ‘vsCode’ field values
  571.  
  572. vsAppleReserved                    EQU        $0000
  573. vsEjectCard                        EQU        $0001
  574. vsGetCardInfo                    EQU        $0002
  575. vsEnableSocketEvents            EQU        $0003
  576. vsGetCardLocationIcon            EQU        $0004
  577. vsGetCardLocationText            EQU        $0005
  578. vsGetAdapterInfo                EQU        $0006
  579. ;
  580. ;///////////////////////////////////////////////////////////////////////////////////////
  581. ;    GetAdapterInfo parameter block (vendor-specific call #6)
  582. ;
  583. GetAdapterInfoPB        RECORD 0
  584. attributes                 ds.l    1                ; offset: $0 (0)        ;  <-  capabilties of socket's adapter
  585. revision                 ds.w    1                ; offset: $4 (4)        ;  <-  id of adapter
  586. reserved                 ds.w    1                ; offset: $6 (6)        ;  
  587. numVoltEntries             ds.w    1                ; offset: $8 (8)        ;  <-  number of valid voltage values
  588. voltages                 ds.l    1                ; offset: $A (10)        ;  <-> array of BCD voltage values
  589. sizeof                     EQU *                    ; size:   $E (14)
  590.                         ENDR
  591. ;     ‘attributes’ field values
  592.  
  593. kCSLevelModeInterrupts            EQU        $00000001
  594. kCSPulseModeInterrupts            EQU        $00000002
  595. kCSProgrammableWindowAddr        EQU        $00000004
  596. kCSProgrammableWindowSize        EQU        $00000008
  597. kCSSocketSleepPower                EQU        $00000010
  598. kCSSoftwareEject                EQU        $00000020
  599. kCSLockableSocket                EQU        $00000040
  600. kCSInUseIndicator                EQU        $00000080
  601. ;
  602. ;///////////////////////////////////////////////////////////////////////////////////////
  603. ;    GetCardInfo parameter block (vendor-specific call #2)
  604. ;
  605. GetCardInfoPB            RECORD 0
  606. cardType                 ds.b    1                ; offset: $0 (0)        ;  <-  type of card in this socket (defined at top of file)
  607. subType                     ds.b    1                ; offset: $1 (1)        ;  <-  more detailed card type (defined at top of file)
  608. reserved                 ds.w    1                ; offset: $2 (2)        ;  <-> reserved (should be set to zero)
  609. cardNameLen                 ds.w    1                ; offset: $4 (4)        ;   -> maximum length of card name to be returned
  610. vendorNameLen             ds.w    1                ; offset: $6 (6)        ;   -> maximum length of vendor name to be returned
  611. cardName                 ds.l    1                ; offset: $8 (8)        ;   -> pointer to card name string (read from CIS), or nil
  612. vendorName                 ds.l    1                ; offset: $C (12)        ;   -> pointer to vendor name string (read from CIS), or nil
  613. sizeof                     EQU *                    ; size:   $10 (16)
  614.                         ENDR
  615. ;     GetCardInfo card types
  616.  
  617. kCSUnknownCardType                EQU        0
  618. kCSMultiFunctionCardType        EQU        1
  619. kCSMemoryCardType                EQU        2
  620. kCSSerialPortCardType            EQU        3
  621. kCSSerialOnlyType                EQU        0
  622. kCSDataModemType                EQU        1
  623. kCSFaxModemType                    EQU        2
  624. kCSFaxAndDataModemMask            EQU        3
  625. kCSVoiceEncodingType            EQU        4
  626. kCSParallelPortCardType            EQU        4
  627. kCSFixedDiskCardType            EQU        5
  628. kCSUnknownFixedDiskType            EQU        0
  629. kCSATAInterface                    EQU        1
  630. kCSRotatingDevice                EQU        $00
  631. kCSSiliconDevice                EQU        $80
  632. kCSVideoAdaptorCardType            EQU        6
  633. kCSNetworkAdaptorCardType        EQU        7
  634. kCSAIMSCardType                    EQU        8
  635. kCSNumCardTypes                    EQU        9
  636. ;
  637. ; pascal OSErr CSVendorSpecific(VendorSpecificPB *pb)
  638. ;
  639.     IF ¬ GENERATINGCFM THEN
  640.         Macro
  641.         _CSVendorSpecific
  642.             moveq               #0,D0
  643.             dc.w                $AAF0
  644.         EndM
  645.     ELSE
  646.         IMPORT_CFM_FUNCTION CSVendorSpecific
  647.     ENDIF
  648.  
  649.     IF FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE THEN
  650. ;
  651. ; pascal OSErr CSRegisterClient(RegisterClientPB *pb)
  652. ;
  653.     IF ¬ GENERATINGCFM THEN
  654.         Macro
  655.         _CSRegisterClient
  656.             moveq               #1,D0
  657.             dc.w                $AAF0
  658.         EndM
  659.     ELSE
  660.         IMPORT_CFM_FUNCTION CSRegisterClient
  661.     ENDIF
  662.  
  663. ;
  664. ; pascal OSErr CSDeregisterClient(RegisterClientPB *pb)
  665. ;
  666.     IF ¬ GENERATINGCFM THEN
  667.         Macro
  668.         _CSDeregisterClient
  669.             moveq               #2,D0
  670.             dc.w                $AAF0
  671.         EndM
  672.     ELSE
  673.         IMPORT_CFM_FUNCTION CSDeregisterClient
  674.     ENDIF
  675.  
  676.     ENDIF
  677. ;
  678. ; pascal OSErr CSGetFirstTuple(GetTuplePB *pb)
  679. ;
  680.     IF ¬ GENERATINGCFM THEN
  681.         Macro
  682.         _CSGetFirstTuple
  683.             moveq               #3,D0
  684.             dc.w                $AAF0
  685.         EndM
  686.     ELSE
  687.         IMPORT_CFM_FUNCTION CSGetFirstTuple
  688.     ENDIF
  689.  
  690. ;
  691. ; pascal OSErr CSGetNextTuple(GetTuplePB *pb)
  692. ;
  693.     IF ¬ GENERATINGCFM THEN
  694.         Macro
  695.         _CSGetNextTuple
  696.             moveq               #4,D0
  697.             dc.w                $AAF0
  698.         EndM
  699.     ELSE
  700.         IMPORT_CFM_FUNCTION CSGetNextTuple
  701.     ENDIF
  702.  
  703. ;
  704. ; pascal OSErr CSGetTupleData(GetTuplePB *pb)
  705. ;
  706.     IF ¬ GENERATINGCFM THEN
  707.         Macro
  708.         _CSGetTupleData
  709.             moveq               #5,D0
  710.             dc.w                $AAF0
  711.         EndM
  712.     ELSE
  713.         IMPORT_CFM_FUNCTION CSGetTupleData
  714.     ENDIF
  715.  
  716. ;
  717. ; pascal OSErr CSGetConfigurationInfo(GetModRequestConfigInfoPB *pb)
  718. ;
  719.     IF ¬ GENERATINGCFM THEN
  720.         Macro
  721.         _CSGetConfigurationInfo
  722.             moveq               #6,D0
  723.             dc.w                $AAF0
  724.         EndM
  725.     ELSE
  726.         IMPORT_CFM_FUNCTION CSGetConfigurationInfo
  727.     ENDIF
  728.  
  729. ;
  730. ; pascal OSErr CSGetCardServicesInfo(GetCardServicesInfoPB *pb)
  731. ;
  732.     IF ¬ GENERATINGCFM THEN
  733.         Macro
  734.         _CSGetCardServicesInfo
  735.             moveq               #7,D0
  736.             dc.w                $AAF0
  737.         EndM
  738.     ELSE
  739.         IMPORT_CFM_FUNCTION CSGetCardServicesInfo
  740.     ENDIF
  741.  
  742. ;
  743. ; pascal OSErr CSGetStatus(GetStatusPB *pb)
  744. ;
  745.     IF ¬ GENERATINGCFM THEN
  746.         Macro
  747.         _CSGetStatus
  748.             moveq               #8,D0
  749.             dc.w                $AAF0
  750.         EndM
  751.     ELSE
  752.         IMPORT_CFM_FUNCTION CSGetStatus
  753.     ENDIF
  754.  
  755. ;
  756. ; pascal OSErr CSValidateCIS(ValidateCISPB *pb)
  757. ;
  758.     IF ¬ GENERATINGCFM THEN
  759.         Macro
  760.         _CSValidateCIS
  761.             moveq               #9,D0
  762.             dc.w                $AAF0
  763.         EndM
  764.     ELSE
  765.         IMPORT_CFM_FUNCTION CSValidateCIS
  766.     ENDIF
  767.  
  768. ;
  769. ; pascal OSErr CSGetFirstClient(GetClientPB *pb)
  770. ;
  771.     IF ¬ GENERATINGCFM THEN
  772.         Macro
  773.         _CSGetFirstClient
  774.             moveq               #15,D0
  775.             dc.w                $AAF0
  776.         EndM
  777.     ELSE
  778.         IMPORT_CFM_FUNCTION CSGetFirstClient
  779.     ENDIF
  780.  
  781. ;
  782. ; pascal OSErr CSGetNextClient(GetClientPB *pb)
  783. ;
  784.     IF ¬ GENERATINGCFM THEN
  785.         Macro
  786.         _CSGetNextClient
  787.             moveq               #16,D0
  788.             dc.w                $AAF0
  789.         EndM
  790.     ELSE
  791.         IMPORT_CFM_FUNCTION CSGetNextClient
  792.     ENDIF
  793.  
  794. ;
  795. ; pascal OSErr CSGetClientInfo(GetClientInfoPB *pb)
  796. ;
  797.     IF ¬ GENERATINGCFM THEN
  798.         Macro
  799.         _CSGetClientInfo
  800.             moveq               #17,D0
  801.             dc.w                $AAF0
  802.         EndM
  803.     ELSE
  804.         IMPORT_CFM_FUNCTION CSGetClientInfo
  805.     ENDIF
  806.  
  807. ;
  808. ; pascal OSErr CSResetCard(ResetCardPB *pb)
  809. ;
  810.     IF ¬ GENERATINGCFM THEN
  811.         Macro
  812.         _CSResetCard
  813.             moveq               #18,D0
  814.             dc.w                $AAF0
  815.         EndM
  816.     ELSE
  817.         IMPORT_CFM_FUNCTION CSResetCard
  818.     ENDIF
  819.  
  820. ;
  821. ; pascal OSErr CSRequestWindow(ReqModRelWindowPB *pb)
  822. ;
  823.     IF ¬ GENERATINGCFM THEN
  824.         Macro
  825.         _CSRequestWindow
  826.             moveq               #19,D0
  827.             dc.w                $AAF0
  828.         EndM
  829.     ELSE
  830.         IMPORT_CFM_FUNCTION CSRequestWindow
  831.     ENDIF
  832.  
  833. ;
  834. ; pascal OSErr CSModifyWindow(ReqModRelWindowPB *pb)
  835. ;
  836.     IF ¬ GENERATINGCFM THEN
  837.         Macro
  838.         _CSModifyWindow
  839.             moveq               #20,D0
  840.             dc.w                $AAF0
  841.         EndM
  842.     ELSE
  843.         IMPORT_CFM_FUNCTION CSModifyWindow
  844.     ENDIF
  845.  
  846. ;
  847. ; pascal OSErr CSReleaseWindow(ReqModRelWindowPB *pb)
  848. ;
  849.     IF ¬ GENERATINGCFM THEN
  850.         Macro
  851.         _CSReleaseWindow
  852.             moveq               #21,D0
  853.             dc.w                $AAF0
  854.         EndM
  855.     ELSE
  856.         IMPORT_CFM_FUNCTION CSReleaseWindow
  857.     ENDIF
  858.  
  859. ;
  860. ; pascal OSErr CSRequestConfiguration(GetModRequestConfigInfoPB *pb)
  861. ;
  862.     IF ¬ GENERATINGCFM THEN
  863.         Macro
  864.         _CSRequestConfiguration
  865.             moveq               #27,D0
  866.             dc.w                $AAF0
  867.         EndM
  868.     ELSE
  869.         IMPORT_CFM_FUNCTION CSRequestConfiguration
  870.     ENDIF
  871.  
  872. ;
  873. ; pascal OSErr CSModifyConfiguration(GetModRequestConfigInfoPB *pb)
  874. ;
  875.     IF ¬ GENERATINGCFM THEN
  876.         Macro
  877.         _CSModifyConfiguration
  878.             moveq               #28,D0
  879.             dc.w                $AAF0
  880.         EndM
  881.     ELSE
  882.         IMPORT_CFM_FUNCTION CSModifyConfiguration
  883.     ENDIF
  884.  
  885. ;
  886. ; pascal OSErr CSAccessConfigurationRegister(AccessConfigurationRegisterPB *pb)
  887. ;
  888.     IF ¬ GENERATINGCFM THEN
  889.         Macro
  890.         _CSAccessConfigurationRegister
  891.             moveq               #29,D0
  892.             dc.w                $AAF0
  893.         EndM
  894.     ELSE
  895.         IMPORT_CFM_FUNCTION CSAccessConfigurationRegister
  896.     ENDIF
  897.  
  898. ;
  899. ; pascal OSErr CSReleaseConfiguration(ReleaseConfigurationPB *pb)
  900. ;
  901.     IF ¬ GENERATINGCFM THEN
  902.         Macro
  903.         _CSReleaseConfiguration
  904.             moveq               #30,D0
  905.             dc.w                $AAF0
  906.         EndM
  907.     ELSE
  908.         IMPORT_CFM_FUNCTION CSReleaseConfiguration
  909.     ENDIF
  910.  
  911. ;
  912. ; pascal OSErr CSGetClientEventMask(GetSetClientEventMaskPB *pb)
  913. ;
  914.     IF ¬ GENERATINGCFM THEN
  915.         Macro
  916.         _CSGetClientEventMask
  917.             moveq               #31,D0
  918.             dc.w                $AAF0
  919.         EndM
  920.     ELSE
  921.         IMPORT_CFM_FUNCTION CSGetClientEventMask
  922.     ENDIF
  923.  
  924. ;
  925. ; pascal OSErr CSSetClientEventMask(GetSetClientEventMaskPB *pb)
  926. ;
  927.     IF ¬ GENERATINGCFM THEN
  928.         Macro
  929.         _CSSetClientEventMask
  930.             moveq               #32,D0
  931.             dc.w                $AAF0
  932.         EndM
  933.     ELSE
  934.         IMPORT_CFM_FUNCTION CSSetClientEventMask
  935.     ENDIF
  936.  
  937. ;
  938. ; pascal OSErr CSRequestSocketMask(ReqRelSocketMaskPB *pb)
  939. ;
  940.     IF ¬ GENERATINGCFM THEN
  941.         Macro
  942.         _CSRequestSocketMask
  943.             moveq               #33,D0
  944.             dc.w                $AAF0
  945.         EndM
  946.     ELSE
  947.         IMPORT_CFM_FUNCTION CSRequestSocketMask
  948.     ENDIF
  949.  
  950. ;
  951. ; pascal OSErr CSReleaseSocketMask(ReqRelSocketMaskPB *pb)
  952. ;
  953.     IF ¬ GENERATINGCFM THEN
  954.         Macro
  955.         _CSReleaseSocketMask
  956.             moveq               #34,D0
  957.             dc.w                $AAF0
  958.         EndM
  959.     ELSE
  960.         IMPORT_CFM_FUNCTION CSReleaseSocketMask
  961.     ENDIF
  962.  
  963. ;
  964. ;    Additional calls which are required for all I/O clients when running on
  965. ;    systems which do not reserve dedicated I/O-spaces for each PC Card.
  966. ;
  967. ;
  968. ; pascal OSErr CSRequestIO(ReqRelIOPB *pb)
  969. ;
  970.     IF ¬ GENERATINGCFM THEN
  971.         Macro
  972.         _CSRequestIO
  973.             moveq               #37,D0
  974.             dc.w                $AAF0
  975.         EndM
  976.     ELSE
  977.         IMPORT_CFM_FUNCTION CSRequestIO
  978.     ENDIF
  979.  
  980. ;
  981. ; pascal OSErr CSReleaseIO(ReqRelIOPB *pb)
  982. ;
  983.     IF ¬ GENERATINGCFM THEN
  984.         Macro
  985.         _CSReleaseIO
  986.             moveq               #38,D0
  987.             dc.w                $AAF0
  988.         EndM
  989.     ELSE
  990.         IMPORT_CFM_FUNCTION CSReleaseIO
  991.     ENDIF
  992.  
  993.     ENDIF ; __CARDSERVICES__ 
  994.  
  995.